package de.tum.in.far.threedui.superbrickball.engine.physics;

import java.util.Collections;
import java.util.Hashtable;
import java.util.Map;

import javax.vecmath.Vector3f;

import de.tum.in.far.threedui.superbrickball.engine.physics.models.PhysicalModel;
import de.tum.in.far.threedui.superbrickball.engine.physics.models.PlaneModel;
import de.tum.in.far.threedui.superbrickball.engine.physics.models.SphereModel;

public class World {
	public float MIN_FORCE_THRESHOLD;
	public Vector3f ballVelocity;
	public SphereModel ballModel;
	
	public Map<String,PlaneModel> wallModels;
	public Map<String,PhysicalModel> targetModels;
	
	public float REPULSION;
	public long CLOCK_PERIOD;
	public float height, width, depth;
	public float MAX_SPEED;
	public float zOffset;
	public float ballRadius;
	public float controllerDimension;
	
	public World()
	{
		//dummy values
		this.CLOCK_PERIOD = 0;
		this.REPULSION = 0;
		this.MIN_FORCE_THRESHOLD = 0;
		this.ballVelocity = new Vector3f();
		this.ballModel = new SphereModel(new Vector3f(), 0);
		this.wallModels = Collections.synchronizedMap( new Hashtable<String,PlaneModel>());
		this.targetModels = Collections.synchronizedMap( new Hashtable<String,PhysicalModel>());
		
		this.height = this.width = this.depth = 0;
	}

}
